Manager: File Manager



While Carbon will support most of the File Manager interface, there are a number of significant changes.

You should not access File Manager structures directly if accessor functions for the structure exist. For example, you should call PBGetFCBInfo rather than calling LMGetFCBSPtr and walking the FCB table.

Similarly, you should create file system specification (FSSpec) records using the functions PBMakeFSSpec or FSMakeFSSpec instead of filling in your own structures. File system specification records must contain a volume reference number, a parent directory, and a name. Substituting a working directory for the volume reference number or a full or partial pathname for the name is not supported.

File Manager functions that support MFS (the Macintosh file system) will not be supported in Carbon. These include

* functions, such as OpenWD and GetWDInfo, that manipulate working directories

* functions that identify a file or folder using a volume reference number and pathname but not a parent directory ID. You should use the HFS version of these calls (which use a parent directory ID) instead.

Functions that cannot be called by PowerPC applications (such as PBGetAltAccessSync and PBGetAltAccessAsync) will not be supported.

You should use only documented File Manager interfaces in your application. For example, you should use a documented API call to get low memory information rather than access undocumented low memory global variables or vectors directly.

The default volume format for Carbon will be the Mac OS Extended format; in most cases you will not need to modify your application to gain this volume support.

Carbon does not support many of the File System Manager (FSM) functions defined in the header file FSM.h. FSM plug-ins today often must make assumptions about File Manager data structures that may not be valid in Carbon. In addition, some plug-ins use 68K calling conventions when calling internal File Manager functions. Since the File System Manager was designed for a single-threaded file system, it cannot use the full threading capabilities of Mac OS X.

Supported  Allocate

Supported  AllocContig

Supported  CallDICIProc

Supported  CallFSDCommProc

Supported  CallHFSCIProc

Supported  CallIOCompletionProc

Supported  CallLg2PhysProc

Supported  CatMove

Unsupported  CloseWD

Working directories not supported. Use file system specification (FSSpec) records instead.

Unsupported  Create

Unsupported  create

Use FSpCreate instead.

Supported  DICIProcPtr

Supported  DirCreate

Supported  DisposeDICIUPP

Supported  DisposeFSDCommUPP

Supported  DisposeHFSCIUPP

Supported  DisposeIOCompletionUPP

Supported  DisposeLg2PhysUPP

Supported  Eject

Modified  eject

Use Eject instead.

Unsupported  FInitQueue

Supported  FlushVol

Modified  flushvol

Use FlushVol instead.

Supported  FSClose

Supported  FSDCommProcPtr

Unsupported  FSDelete

Use FSpDelete instead.

Unsupported  fsdelete

Use FSpDelete instead.

Supported  FSMakeFSSpec

Unsupported  FSOpen

Use FSpOpenDF (for a data fork) or FSpOpenRF (for a resource fork) instead.

Unsupported  fsopen

Use FSpOpenDF (for a data fork) or FSpOpenRF (for a resource fork) instead.

Supported  FSpCatMove

Supported  FSpCreate

Supported  FSpDelete

Supported  FSpDirCreate

Supported  FSpExchangeFiles

Supported  FSpGetFInfo

Supported  FSpOpenDF

Supported  FSpOpenRF

Supported  FSpRename

Supported  FSpRstFLock

Supported  FSpSetFInfo

Supported  FSpSetFLock

Supported  FSRead

Unsupported  fsrename

Use FSpRename instead.

Supported  FSWrite

Supported  GetEOF

Unsupported  GetFInfo

Use FSpGetFInfo instead.

Unsupported  getfinfo

Use FSpGetFInfo instead.

Supported  GetFPos

Supported  GetFSInfo

Unsupported  GetFSQHdr

Not supported in Carbon. Applications should not be using this function anyway.

Supported  GetVCBQHdr

Unsupported  GetVInfo

Unsupported  getvinfo

Unsupported  GetVol

Carbon applications should use HGetVol and HSetVol to get and set the default directory. GetVol and SetVol are no longer supported and working directories are not supported.

Unsupported  getvol

Working directories are not supported.

Supported  GetVRefNum

Unsupported  GetWDInfo

Working directories not supported. Use file system specification (FSSpec) records instead.

Supported  HCreate

Supported  HDelete

Supported  HFSCIProcPtr

Supported  HGetFInfo

Supported  HGetVol

Carbon applications should use HGetVol and HSetVol to get and set the default directory. GetVol and SetVol are no longer supported and working directories are not supported.

Supported  HOpen

Supported  HOpenDF

Supported  HOpenRF

Supported  HRename

Supported  HRstFLock

Supported  HSetFInfo

Supported  HSetFLock

Supported  HSetVol

Carbon applications should use HGetVol and HSetVol to get and set the default directory. GetVol and SetVol are no longer supported and working directories are not supported.

Unsupported  InformFFS

FSM functions used to extend the system are not supported in Carbon.

Unsupported  InformFSM

FSM functions used to extend the system are not supported in Carbon.

Unsupported  InstallFS

FSM functions used to extend the system are not supported in Carbon.

Supported  InvokeDICIUPP

Supported  InvokeFSDCommUPP

Supported  InvokeHFSCIUPP

Supported  InvokeIOCompletionUPP

Supported  InvokeLg2PhysUPP

Supported  IOCompletionProcPtr

Supported  Lg2PhysProcPtr

Supported  NewDICIProc

Supported  NewDICIUPP

Supported  NewFSDCommProc

Supported  NewFSDCommUPP

Supported  NewHFSCIProc

Supported  NewHFSCIUPP

Supported  NewIOCompletionProc

Supported  NewIOCompletionUPP

Supported  NewLg2PhysProc

Supported  NewLg2PhysUPP

Unsupported  OpenDF

Use FSpOpenDF instead.

Unsupported  OpenRF

Use FSpOpenRF instead.

Unsupported  openrf

Use FSpOpenRF instead.

Unsupported  OpenWD

Working directories not supported. Use file system specification (FSSpec) records instead.

Supported  PBAllocateAsync

Supported  PBAllocateSync

Supported  PBAllocContigAsync

Supported  PBAllocContigSync

Supported  PBCatMoveAsync

Supported  PBCatMoveSync

Supported  PBCatSearchAsync

Supported  PBCatSearchSync

Unsupported  PBCloseWDAsync

Working directories not supported. Use file system specification (FSSpec) records instead.

Unsupported  PBCloseWDSync

Working directories not supported. Use file system specification (FSSpec) records instead.

Unsupported  PBCreateAsync

Obsolete. Use PBHCreateAsync instead.

Supported  PBCreateFileIDRefAsync

Supported  PBCreateFileIDRefSync

Unsupported  PBCreateSync

Obsolete. Use PBHCreateSync instead.

Unsupported  PBDeleteAsync

Obsolete. Use PBHDeleteAsync instead.

Supported  PBDeleteFileIDRefAsync

Supported  PBDeleteFileIDRefSync

Unsupported  PBDeleteSync

Obsolete. Use PBHDeleteSync instead.

Supported  PBDirCreateAsync

Supported  PBDirCreateSync

Supported  PBDTAddAPPLAsync

Supported  PBDTAddAPPLSync

Supported  PBDTAddIconAsync

Supported  PBDTAddIconSync

Supported  PBDTCloseDown

Supported  PBDTDeleteAsync

Supported  PBDTDeleteSync

Supported  PBDTFlushAsync

Supported  PBDTFlushSync

Supported  PBDTGetAPPLAsync

Supported  PBDTGetAPPLSync

Supported  PBDTGetCommentAsync

Supported  PBDTGetCommentSync

Supported  PBDTGetIconAsync

Supported  PBDTGetIconInfoAsync

Supported  PBDTGetIconInfoSync

Supported  PBDTGetIconSync

Supported  PBDTGetInfoAsync

Supported  PBDTGetInfoSync

Supported  PBDTGetPath

Supported  PBDTOpenInform

Supported  PBDTRemoveAPPLAsync

Supported  PBDTRemoveAPPLSync

Supported  PBDTRemoveCommentAsync

Supported  PBDTRemoveCommentSync

Supported  PBDTResetAsync

Supported  PBDTResetSync

Supported  PBDTSetCommentAsync

Supported  PBDTSetCommentSync

Supported  PBEject

Supported  PBExchangeFilesAsync

Supported  PBExchangeFilesSync

Supported  PBFlushFileAsync

Supported  PBFlushFileSync

Supported  PBFlushVolAsync

Supported  PBFlushVolSync

Unsupported  PBGetAltAccessAsync

68K-specific.

Unsupported  PBGetAltAccessSync

68K-specific.

Supported  PBGetCatInfoAsync

Supported  PBGetCatInfoSync

Supported  PBGetEOFAsync

Supported  PBGetEOFSync

Supported  PBGetFCBInfoAsync

Supported  PBGetFCBInfoSync

Unsupported  PBGetFInfoAsync

Obsolete. Use PBHGetFInfoAsync instead.

Unsupported  PBGetFInfoSync

Obsolete. Use PBHGetFInfoSync instead.

Supported  PBGetForeignPrivsAsync

Supported  PBGetForeignPrivsSync

Supported  PBGetFPosAsync

Supported  PBGetFPosSync

Supported  PBGetUGEntryAsync

Supported  PBGetUGEntrySync

Unsupported  PBGetVInfoAsync

Obsolete. Use PBHGetVInfoAsync instead.

Unsupported  PBGetVInfoSync

Obsolete. Use PBHGetVInfoSync instead.

Unsupported  PBGetVolAsync

Obsolete. Use PBHGetVolAsync instead.

Supported  PBGetVolMountInfo

Supported  PBGetVolMountInfoSize

Unsupported  PBGetVolSync

Obsolete. Use PBHGetVolSync instead.

Unsupported  PBGetWDInfoAsync

Working directories not supported. Use file system specification (FSSpec) records instead.

Unsupported  PBGetWDInfoSync

Working directories not supported. Use file system specification (FSSpec) records instead.

Supported  PBGetXCatInfoAsync

Supported  PBGetXCatInfoSync

Supported  PBHCopyFileAsync

Supported  PBHCopyFileSync

Supported  PBHCreateAsync

Supported  PBHCreateSync

Supported  PBHDeleteAsync

Supported  PBHDeleteSync

Supported  PBHGetDirAccessAsync

Supported  PBHGetDirAccessSync

Supported  PBHGetFInfoAsync

Supported  PBHGetFInfoSync

Supported  PBHGetLogInInfoAsync

Supported  PBHGetLogInInfoSync

Supported  PBHGetVInfoAsync

Supported  PBHGetVInfoSync

Supported  PBHGetVolAsync

Supported  PBHGetVolParmsAsync

Supported  PBHGetVolParmsSync

Supported  PBHGetVolSync

Supported  PBHMapIDAsync

Supported  PBHMapIDSync

Supported  PBHMapNameAsync

Supported  PBHMapNameSync

Supported  PBHMoveRenameAsync

Supported  PBHMoveRenameSync

Supported  PBHOpenAsync

Supported  PBHOpenDenyAsync

Supported  PBHOpenDenySync

Supported  PBHOpenDFAsync

Supported  PBHOpenDFSync

Supported  PBHOpenRFAsync

Supported  PBHOpenRFDenyAsync

Supported  PBHOpenRFDenySync

Supported  PBHOpenRFSync

Supported  PBHOpenSync

Supported  PBHRenameAsync

Supported  PBHRenameSync

Supported  PBHRstFLockAsync

Supported  PBHRstFLockSync

Supported  PBHSetDirAccessAsync

Supported  PBHSetDirAccessSync

Supported  PBHSetFInfoAsync

Supported  PBHSetFInfoSync

Supported  PBHSetFLockAsync

Supported  PBHSetFLockSync

Supported  PBHSetVolAsync

Supported  PBHSetVolSync

Unsupported  PBHTrashVolumeCachesSync

Supported  PBLockRangeAsync

Supported  PBLockRangeSync

Supported  PBMakeFSSpecAsync

Supported  PBMakeFSSpecSync

Supported  PBMountVol

Supported  PBOffLine

Unsupported  PBOpenDFAsync

Obsolete. Use PBHOpenDFAsync instead.

Unsupported  PBOpenDFSync

Obsolete. Use PBHOpenDFSync instead.

Unsupported  PBOpenRFAsync

Obsolete. Use PBHOpenRFAsync instead.

Unsupported  PBOpenRFSync

Obsolete. Use PBHOpenRFSync instead.

Unsupported  PBOpenWDAsync

Working directories not supported. Use file system specification (FSSpec) records instead.

Unsupported  PBOpenWDSync

Working directories not supported. Use file system specification (FSSpec) records instead.

Unsupported  PBRenameAsync

Obsolete. Use PBHRenameAsync instead.

Unsupported  PBRenameSync

Obsolete. Use PBHRenameSync instead.

Supported  PBResolveFileIDRefAsync

Supported  PBResolveFileIDRefSync

Unsupported  PBRstFLockAsync

Obsolete. Use PBHRstFLock Async instead.

Unsupported  PBRstFLockSync

Obsolete. Use PBHRstFlockSync instead.

Unsupported  PBSetAltAccessAsync

68K-specific.

Unsupported  PBSetAltAccessSync

68K-specific.

Supported  PBSetCatInfoAsync

Supported  PBSetCatInfoSync

Supported  PBSetEOFAsync

Supported  PBSetEOFSync

Unsupported  PBSetFInfoAsync

Obsolete. Use PBHSetFInfoAsync instead.

Unsupported  PBSetFInfoSync

Obsolete. Use PBHSetFInfoSync instead.

Unsupported  PBSetFLockAsync

Obsolete. Use PBHSetFLockAsync instead.

Unsupported  PBSetFLockSync

Obsolete. Use PBHSetFLockSync instead.

Supported  PBSetForeignPrivsAsync

Supported  PBSetForeignPrivsSync

Supported  PBSetFPosAsync

Supported  PBSetFPosSync

Unsupported  PBSetFVersAsync

Obsolete. Use PBHSetFVersAsync instead.

Unsupported  PBSetFVersSync

Obsolete. Use PBHSetFVersSync instead.

Supported  PBSetVInfoAsync

Supported  PBSetVInfoSync

Unsupported  PBSetVolAsync

Obsolete. Use PBHSetVolAsync instead.

Unsupported  PBSetVolSync

Obsolete. Use PBHSetVolSync instead.

Supported  PBShareAsync

Supported  PBShareSync

Supported  PBUnlockRangeAsync

Supported  PBUnlockRangeSync

Supported  PBUnmountVol

Supported  PBUnmountVolImmed

Supported  PBUnshareAsync

Supported  PBUnshareSync

Supported  PBVolumeMount

Supported  PBXGetVolInfoAsync

Supported  PBXGetVolInfoSync

Unsupported  RemoveFS

FSM functions used to extend the system are not supported in Carbon.

Supported  rename

Unsupported  Rename

Use FSpRename instead.

Unsupported  rstflock

Use FSpRstFLock instead.

Unsupported  RstFLock

Use FSpRstFLock instead.

Supported  SetEOF

Unsupported  SetFInfo

Use FSpSetFInfo instead.

Unsupported  setfinfo

Use FSpSetFInfo instead.

Unsupported  SetFLock

Use FSpSetFLock instead.

Unsupported  setflock

Use FSpSetFLock instead.

Supported  SetFPos

Supported  SetFSInfo

Unsupported  SetVol

Carbon applications should use HGetVol and HSetVol to get and set the default directory. GetVol and SetVol are no longer supported and working directories are not supported.

Unsupported  setvol

Working directories are not supported.

Supported  UnmountVol

Modified  unmountvol

Use UnmountVol instead.

Unsupported  UTAddNewVCB

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTAdjustEOF

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTAllocateFCB

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTAllocateVCB

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTAllocateWDCB

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTBlockInFQHashP

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTCacheReadIP

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTCacheWriteIP

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTCheckDirBusy

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTCheckFileModifiable

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTCheckFileRefNum

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTCheckPermission

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTCheckVolModifiable

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTCheckVolOffline

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTCheckVolRefNum

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTCheckWDRefNum

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTDetermineVol

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTDisposeVCB

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTEjectVol

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTFindDrive

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTFlushCache

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTGetBlock

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTGetDefaultVol

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTGetPathComponentName

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTIndexFCB

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTLocateFCB

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTLocateNextFCB

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTLocateNextVCB

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTLocateVCBByName

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTLocateVCBByRefNum

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTMarkDirty

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTParsePathname

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTReleaseBlock

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTReleaseFCB

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTReleaseWDCB

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTResolveFCB

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTResolveWDCB

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTSetDefaultVol

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTTrashBlocks

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTTrashFileBlocks

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTTrashVolBlocks

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTVolCacheReadIP

FSM functions used to extend the system are not supported in Carbon.

Unsupported  UTVolCacheWriteIP

FSM functions used to extend the system are not supported in Carbon.

[Table of Contents] [Manager Index] [Function Index]

Generated on: 7/7/99. Copyright 1999 Apple Computer, Inc. All rights reserved.